package done.easy_901_1000;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 941. Valid Mountain Array 有效的山脉数组
 * <p>
 * 给定一个整数数组 A，如果它是有效的山脉数组就返回 true，否则返回 false。
 * 让我们回顾一下，如果 A 满足下述条件，那么它是一个山脉数组：
 * A.length >= 3
 * 在 0 < i < A.length - 1 条件下，存在 i 使得：
 * A[0] < A[1] < ... A[i-1] < A[i]
 * A[i] > A[i+1] > ... > A[B.length - 1]
 * <p>
 * 示例 1：
 * 输入：[2,1]
 * 输出：false
 * 示例 2：
 * 输入：[3,5,5]
 * 输出：false
 * 示例 3：
 * 输入：[0,3,2,1]
 * 输出：true
 *
 * @author 大硕
 * 2019-03-29 11:16 PM
 **/
@Slf4j
public class ValidMountainArray {

    @SuppressWarnings("all")
    public boolean validMountainArray(int[] A) {
        // 190329 first
        return false;
    }

    @Test
    public void test() {
        int[] nums = new int[]{0, 3, 2, 1};
        log.info("{}", validMountainArray(nums));
    }
}




























/*
public boolean validMountainArray(int[] A) {
    int len = A.length;

    // 山脉数组至少3个元素，【第1个】<【第2个】, 【倒数第1个】>【倒数第2个】
    if (len < 3
     || A[0] >= A[1]
     || A[len-2] <= A[len-1]) {
        return false;
    }

    // 山脉的坡度
    // 上山-true  下山-false
    boolean isUp = true;
    for (int i = 0; i < len; i++) {
        if (isUp && A[i] >= A[i+1]) {
            isUp = false;
        } else if (!isUp && A[i-1] <= A[i]) {
            return false;
        }
    }
    return true;
}
*/
